This invention is related to the management of objects residing in one or more directory services. These services utilize a common access method which permits the data in the directory services to be managed using a single virtual Data Management System (DMS) based on a modular, scalable architecture. The directory services disclosed herein are those found in typical corporate, enterprise and e-business environments where elements of the Data Management System may exist on a homogenous computer platform or they may be dispersed among a plurality of platforms in a distributed computing environment. The interaction between said directory services and the Data Management System is accomplished through a plurality of commonly available communication protocols which permit a uniform data access and distribution across a heterogeneous network.
As the complexity of networks grow, it becomes increasingly more difficult to exchange and manage data, especially in networks comprising a plurality of heterogenous components. Directory services in particular have become such an integral part of corporate networks and the Internet, that methods for expanding their scaleability, improving performance and accessing data are critical to the success of the core business. Compounding the problem is the fact that directory services were initially designed to house information about the network infrastructure such as login access, passwords, network resources, etc. With the inception of the Lightweight Directory Access Protocol (LDAP), corporations began using directory services to maintain organizational data such as names, job responsibilities, telephone numbers, etc. Eventually, e-business and e-commerce matured to the point where directory services are now used to manage many of the elements required to support corporate intranets and web sites. However, directory services tend to be deficient in the area of data and application management, usually lacking fundamental aspects such as revision control, configuration management, release control, lock management, etc.
Our invention seeks to improve upon the present art which addresses these areas by providing a uniform means for managing any type of data across a large global enterprise. The methods disclosed herein can be directly applied to data residing in a directory service, a simple file system or a traditional database. The improvements over the present art can best be illustrated by way of comparison.
For example, U.S. Pat. No. 5,918,227 and U.S. Pat. No. 5,813,006, issued to Polnerow, et al., disclosed an on-line directory service with a plurality of databases and processors. While these inventions propose a method for accessing and registering data from and to one or more databases through the use of a directory service, they""re primarily focused on using a plurality of processors to route requests through the directory service in an efficient manner. They also employs a means for applications to reconfigure themselves in accordance with any changes to the processors and/or databases.
Uniform data access among multiple directory services is the main aspect of U.S. Pat. No. 5,893,107, issued to Chan, et al. This invention provides a directory service system for accessing a plurality of directory services. In this class-based directory service system, there exists a means for defining classes and properties to manage the objects contained within the directory services, even if the directory services are from different vendors. It also comprises a schema and methods for retrieving property names and types of the object classes, resolving name conflicts that can arise from accessing objects residing in different directory services and bridging dissimilar APIs associated with heterogengeous directory services.
U.S. Pat. No. 5,689,700, issued to Miller, et al., teaches a method wherein a common logical structure is used to store both the files residing in a file system as well as the directory entries comprising a directory service. This approach permits directory service entries across multiple domains to be managed in a centralized fashion. Also, since the directory service entries are objects, standardized operations such as replication, querying and storing additional information is possible.
An apparatus and method is disclosed in U.S. Pat. No. 5,758,343, issued to Vigil, et al., which provides a means for implementing a highly scaleable X.500 directory service. A first directory service agent receives requests from a user agent and manages all information pertaining to the root of the X.500 directory tree. In addition, this first directory service agent further distributes requests to a plurality of delegate directory service agents, each of which manages a subset of the overall directory service. Since directory services typically have a limit to the number of entries they can maintain under a single process, this invention permits each delegate directory service agent to run as a separate process, potentially executing on separate processors, thus multiplying the number of allowable directory entries by the number of installed delegate directory service agents to overcome traditional limits.
Replication is an important aspect of distributing data efficiently in a large data processing system. U.S. Pat. No. 5,434,994, issued to Shaheen, et al., teaches a method for maintaining data coherency in a system in which data is replicated across a multitude of servers. Each server permits its local replica to be updated and a method is disclosed to reconcile these updates. Another invention related to replicating and partitioning data is U.S. Pat. No. 5,930,831, issued to Marsh, et al. This invention discloses an architecture to support partitioning of data among multiple file systems on a computer.
While all the aforementioned aspects of the prior art are certainly beneficial in a large heterogeneous network, our invention extends beyond the scope of most of them to solve additional problems they fail to confront. For instance, U.S. Pat. Nos. 5,689,700, 5,893,107 and 5,918,227 discuss various means for integrating directory service entries into a file system, accessing database information through a directory service, and providing uniform access method across multiple directory services. However these inventions, when examined independently or cumulatively, fail to propose a common system-independent paradigm that can be applied to any type of data ranging from a simple file residing in a file system, to an object under the control of a directory service, all the way to information residing in a traditional database. Our invention proposes a method by which data is not only classified using a common means, but doesn""t mandate any relationship between the directory service, file system and database. The paradigm encompassed in the present invention permits a single access method to manipulate a file in a simple file system, locate a web page residing in an LDAP directory service, and query inventory data. For example, the file may exist in a Windows NT environment, while the LDAP directory service may be running in a Unix environment and while the inventory may be managed by a DB/2 database running on an S/390 platform. The prior art fails to address the architectural issues required to support management of data across disparate platforms.
In addition, our invention imparts a modular scaleable architecture upon a directory service, which enables features typically found in document management systems, such as version control, configuration management, locking, and release control, to be employed on objects residing in a directory service. Although the aforementioned inventions present an opportunity to offer a limited form of some of these features, the present invention architecturally binds these features to a common access protocol to permit the same features to span a virtual data management system comprising a plurality of components in which a directory service constitutes one, but not the only, component.
U.S. Pat. Nos. 5,758,343, 5,434,994, and 5,930,831 focus on methods that are beneficial to supporting directory services and file systems, such as efficiently distributing requests, permitting the directory service entries to grow in a scaleable manner, maintaining data coherency in a system requiring data to be replicated across multiple servers, and partitioning and replicating data across storage devices of disparate file systems. Our invention doesn""t presume any knowledge of the underlying storage management infrastructure or low-level file management techniques being employed. As long as the data exists somewhere in the enterprise, and some means is provided for an end user or application program to classify, access and modify it, our invention can be employed. One skilled in the art can appreciate how the techniques disclosed in these and similar inventions could be used in conjunction with the present invention to further enhance its capabilities.
During our development process we have viewed the development of others. Even the best of the EDA (electronic design automation) design houses do not have an integrated approach like the one we have developed. For the purposes of this background, we will discuss some of the various approaches already used specifically viewing them in light of our own separate developments which we will further elaborate in our detailed description of our invention which follows later in this specification.
In the field of EDA, there are today several leading edge providers of Data Management technology. Among them are Cadence Design Systems, Inc., ViewLogic Inc., and Synchronicity Inc. Of course there are others, but these the companies that have the capability to provide complete data management solutions that encompass all facets of the business process including design, manufacturing, quality control, defect tracking, project management and the like. However, review of their most recent technology still affords the opportunity to make improvements in the area of scalability, modularity and adaptation of disparate environments into a seamless Data Management enterprise.
Historically many attempts have been made to manage and share data across groups of users or teams. This has typically resulted in systems that assume a particular use model and expect the users to mold their process or methodology around it. Furthermore, these systems tend to be a closed architecture which is difficult to enhance or customize. In addition these systems can be large and complex, and lacking the ability to scale from a small team of xe2x80x9clow-endxe2x80x9d users to a large group of sophisticated xe2x80x9chigh-endxe2x80x9d users. U.S. Pat. No. 5,812,130, entitled xe2x80x9cData Management System and Method for Concurrent Engineeringxe2x80x9d, U.S. Pat. No. 5,826,265 entitled xe2x80x9cData Management System Having Shared Librariesxe2x80x9d, U.S. Pat. No. 5,864,875 entitled xe2x80x9cData Management System for Problems, Releases and Partsxe2x80x9d, U.S. Pat. No. 5,878,408 entitled xe2x80x9cData Management System and Processxe2x80x9d, U.S. Pat. No. 5,920,867 entitled xe2x80x9cData Management System Having Data Management Configurationxe2x80x9d, U.S. Pat. No. 5,920,873 entitled xe2x80x9cData Management Control System for File and Databasexe2x80x9d, U.S. Pat. No. 5,950,201 entitled xe2x80x9cComputerized Design Automation Method Using a Single Logical PFVL Paradigmxe2x80x9d, and U.S. Pat. No. 5,966,707 entitled xe2x80x9cMethod for Managing a Plurality of Data Processes Residing in Heterogeneous Data Repositoriesxe2x80x9d all issued to Van Huben et al. as well as the following patent applications U.S. patent application Ser. No. 08/847,393 (Attorney Docket No.: PO9-96-007) entitled xe2x80x9cData Management System for Concurrent Engineeringxe2x80x9d, filed Dec. 6, 1996.
U.S. patent application Ser. No. 08/760,913 (Attorney Docket No.: PO9-96-107A) entitled xe2x80x9cData Management System for File and Database Managementxe2x80x9d, filed Dec. 6, 1997.
U.S. patent application Ser. No. 09/103,771 (Attorney Docket No.: PO9-96-107B) entitled xe2x80x9cData Management System for File and Database Managementxe2x80x9d, filed Jun. 24, 1998.
U.S. patent application Ser. No. 09/240,732 (Attorney Docket No.: PO9-99-008) entitled xe2x80x9cMethods for Shared Data Management in a Pervasive Computing Environmentxe2x80x9d, filed Jan. 29, 1999.
all teach various methods employing a modular scalable data management system which is also envisioned as part of the present invention. However, these inventions and applications assume a traditional data or document management environment wherein all objects under control of the data management system reside in a traditional file system and/or database. They fall short of demonstrating how the underlying principles can be expanded to encompass objects and information stored in a directory service system such as Microsoft""s Active Directory or the Lightweight Directory Access Protocol (LDAP).
Our invention provides a data management system enabling a plurality of heterogeneous systems to exchange information. These systems may be comprised of one or more networks, containing simple or complex file systems, relational or object-oriented databases, directory services such as, but not limited to, Microsoft""s Active Directory and the Lightweight Directory Access Protocol, or any combination therein.
The system we employ uses a data management control program tangibly embodying a program of instructions executable by a supporting machine environment for performing method steps by a data management system having a library organization which receives a request of a user initiated from said displayed client screen and fulfills the request by a providing result via our data management system. This data management system has a plurality of data managers and is provided with a plurality of data managers in one or more layers of a layered architecture. The system performs with a data manager and with a user input via an API a plurality of processes on data residing in heterogeneous data repositories of said computer system including promotion, check-in, check-out, locking, library searching, setting and viewing process results, tracking aggregations, and managing parts, releases and problem fix data under management control of a virtual control repository having one or more physical heterogeneous repositories. The system provides for storing, accessing, tracking data residing in said one or more data repositories managed by the virtual control repository.
Our invention provides user interfaces for a combination of command line, scripts, GUI, Menu, WebBrowser, etc. which maps the user""s view to a PFVL paradigm. We have created a new data management architecture which is capable of being adapted to any structure based on attributes, such as the X.500 directory service. It presumes no use model thereby enabling a multitude of departments to share data without the need to follow the same use model. Furthermore, data access is provided through traditional computer systems employing a keyboard, monitor, mouse, etc. as well as nontraditional pervasive computing devices such as hand held personal digital assistants (PDAs), cellular phones, pagers, robotics, etc. Our invention is also highly modular and scalable which permits different features to be installed or configured, and allows the same system to function as either a low-end or a high-end DMS.
These and other improvements are set forth in the following detailed description. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.